﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using DTO;
namespace DAO
{
    public class QuyDinhDAO : Abstract
    {
        public static bool CapNhatQuyDinh(QuyDinhDTO QuyDinh)
        {
            string query = "update QuyDinh set MoTa = {0} where MaQuyDinh = {1}"
              .Replace("{0}", QuyDinh.MoTa.ToString())
              .Replace("{1}",QuyDinh.MaQuyDinh.ToString());
            return Query(query);
        }
        public static List<QuyDinhDTO> LayDSQuyDinh(int maQuyDinh = -1, String tenQuyDinh = null)
        {
            OleDbConnection conn = null;
            List<QuyDinhDTO> listQuyDinh = new List<QuyDinhDTO>();
            try
            {
                conn = GetConnection();
                conn.Open();
            }
            catch
            {
                throw new Exception("Connect error!");
            }
            try
            {
                string query = "select MaQuyDinh, TenQuyDinh, MoTa from QuyDinh ";
                if (maQuyDinh != -1)
                    query = query + "where MaQuyDinh = {0}".Replace("{0}", maQuyDinh.ToString());
                if (tenQuyDinh != null)
                    query = query + "where TenQuyDinh = '{1}'".Replace("{1}", tenQuyDinh);
                OleDbDataReader rd = new OleDbCommand(query, conn).ExecuteReader();
                while (rd.Read())
                {
                    QuyDinhDTO QuyDinh = new QuyDinhDTO();
                    QuyDinh.MaQuyDinh = rd.GetInt32(0);
                    QuyDinh.TenQuyDinh = rd.GetString(1);
                    QuyDinh.MoTa = rd.GetInt32(2);
                    
                    listQuyDinh.Add(QuyDinh);
                }
            }
            catch (Exception e)
            {
                listQuyDinh = null;
            }

            if (conn.State == System.Data.ConnectionState.Open)
                conn.Close();
            return listQuyDinh;
        }
    }
}
